#include "app_common.h"
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

long app_common_getCurrentTime(void)
{
    //声明用于保存时间数据的结构体
    struct timeval tv;
    //获取当前时间
    gettimeofday(&tv,NULL);
    return tv.tv_sec *1000 + tv.tv_usec / 1000;//返回毫秒

}
char *app_message_charsToHex(char *chars, int chars_len)
{
   //申请chars中的每一个字符传的内存空间
   char *hexstr = (char *)malloc(chars_len * 2 + 1);
   //遍历chars中的每一个字符,转换为两个16进制字符，并存储到hexstr中
   for (int i = 0; i < chars_len; i++) {
       sprintf(hexstr + i * 2, "%02X", (unsigned char)(chars[i]));
   }
   //添加字符串结束符
   hexstr[chars_len * 2] = '\0';
   return hexstr;
}
char * app_message_hexToChars(char *hexstr, int *char_len)
{
    int hex_len = strlen(hexstr);
    //保存字符数组长度
    *char_len = hex_len / 2;
    //申请字符数组内存空间
    char *chars = (char *)malloc(*char_len);
    //遍历hexstr中的每一个字符，转换为字符，并存储到chars中
    for (int i = 0; i < hex_len-1; i += 2) 
    {
        sscanf(hexstr + i, "%02x", (unsigned int *)(chars + i / 2));
        
    }
    return chars;
}
